﻿// Copyright 2009 Mike Geise
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace Falcon.Core.Domain
{
	using System.Xml.Serialization;

	public class Package
	{
		/// <summary>
		/// Gets or sets the title.
		/// </summary>
		/// <value>The title.</value>
		[XmlAttribute("title")]
		public string Title
		{
			get; 
			set;
		}

		/// <summary>
		/// Gets or sets the path.
		/// </summary>
		/// <value>The path.</value>
		[XmlAttribute("path")]
		public string Path
		{
			get; 
			set;
		}

		/// <summary>
		/// Gets or sets the type value.
		/// </summary>
		/// <value>The type value.</value>
		[XmlAttribute("type")]
		public string Type
		{
			get;
			set;
		}

		/// <summary>
		/// Gets or sets a value indicating whether this <see cref="Package"/> is active.
		/// </summary>
		/// <value><c>true</c> if active; otherwise, <c>false</c>.</value>
		public bool Active
		{
			get
			{
				return this.ActiveValue.Equals("true");
			}
			set 
			{
				this.ActiveValue = value ? "true" : "false";
			}
		}

		/// <summary>
		/// Gets or sets the active value.
		/// </summary>
		/// <value>The active value.</value>
		[XmlAttribute("active")]
		public string ActiveValue
		{
			get; 
			set;
		}
	}
}